package Gather.CollectionExercise;

import java.util.ArrayList;
import java.util.Collection;
import java.util.function.Consumer;

/**
 * ClassName:CollectionText007
 * Package:Gather.CollectionExercise
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/2/6-19:37
 * @Version:v1.0
 */
public class CollectionText007 {
    /*Lambda表达式遍历*/
    public static void main(String[] args) {
        //创建集合并添加元素
        Collection<String> coll = new ArrayList<>();
        coll.add("zhangsan");
        coll.add("lisi");
        coll.add("wangwu");

        //利用匿名内部类的形式进行遍历
        //底层原理
        //其实也会自己遍历集合,依次得到每一个元素
        //把得到的每个元素,传递给下面的accept方法
        coll.forEach(new Consumer<String>() {
            @Override
            //s依次表示集合中的每一个数据
            public void accept(String s) {
                System.out.println(s);
            }
        });
        //lambda表达式
        System.out.println("--lambda表达式--");
        coll.forEach((String s) -> {
            System.out.println(s);
        });
        //lambda表达式最简形式
        System.out.println("--lambda表达式最简形式--");
        coll.forEach(s -> System.out.println(s));
    }
}
/*
* Collection是单列集合的顶层接口,所有方法被List和Set系列集合共享
* 常见成员方法
*   add,clear,remove,contains,isEmpty,size
* 三种通用的遍历方式
*   迭代器：在遍历的过程中需要删除元素,请使用迭代器
*   增强for,Lambda：仅仅想遍历,那么使用增强for或Lambda表达式*/